home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
011
/
crc_hd.arc
/
CRC_HD.DOC
next >
Wrap
Text File
|
1986-08-31
|
5KB
|
120 lines
CRC_HD
RTSoftware
POB 674
Columbia, MD 21045
CRC_HD is a process that will produce a listing for a number of
files within a directory. The listing will contain the normal
items that are expected in a DIR. It will also include a Cyclic
Redundancy Check (CRC) for each of these files, as well as a path
name. The path name also contains the volume label if there is
one present, If no volume label is found, a dummy one is created.
This is to allow you to merge multiple files together for
sorting.
The program is written in Lattice 'C' 3.00g, with the actual CRC
calculations done in assembler.
>CRC_HD
will produce a file named "CRC.LST" in the current directory of
all the files in that directory.
If you wish to process another directory, another drive, or sub-
directories; the process is controlled with three flags, These
flags are:
-b Beginning drive ,directory, and file search pattern. To
process an entire disk, (C: as an example) use the flag
"-bC:\*.*". The default pattern is "*.*" so that may be
omitted if you wish. If the path indicator is omitted,
the root directory is used. If the drive is omitted,
the current drive is the default.
-o Output the results to the file name given. The default
is "CRC.LST" in the current directory. Example would be
"-oC:\mycrc.lst". This file is opened for write, not
append. If you wish to make multiple files, either
rename the one produced, or use different names.
-s Sub-directories are to be processed as well. Without
this flag, only the specified directory will be
processed.
If none are present, the current directory is used and a small
sample of the command is displayed.
-- Sample output is: --
---------------------------------------------------------------
>>>\C\CRC
CRCCALC .ASM 05-29-86 10:47 ...A 2705 2786 RIPS_TOY \C\CRC
DO_CRC .C 05-30-86 11:08 ...A 1403 1DAB RIPS_TOY \C\CRC
DO_CRC .EXE 05-30-86 11:09 ...A 10016 A870 RIPS_TOY \C\CRC
CRCCALC .OBJ 08-06-86 23:46 ...A 145 2553 RIPS_TOY \C\CRC
CRCCALC .LST 08-06-86 23:46 ...A 5141 8DA7 RIPS_TOY \C\CRC
CRC_HD .C 08-07-86 12:22 ...A 13074 240C RIPS_TOY \C\CRC
RESULT . 08-07-86 12:28 ...A 562 2461 RIPS_TOY \C\CRC
CRC_HD .DOC 08-07-86 01:06 ...A 309 97F7 RIPS_TOY \C\CRC
CRC_HD .EXE 08-07-86 12:29 ...A 21040 CF05 RIPS_TOY \C\CRC
CRC .LST 08-07-86 12:29 ...A 0 32A6 RIPS_TOY \C\CRC
NULL . 08-07-86 11:53 ...A 0 76D2 RIPS_TOY \C\CRC
--> 11 files, total space = 88615<--
---------------------------------------------------------------
file name date & time attr size CRC Vol label path
Running this process against an IOMEGA Bernoulli box (10 MB) that
was almost completely full took about 10 minutes. On an 8Mhz AT,
the process took about 6 min. for 10+MB (process rate of 29k per
second). As the process progresses, The directory currently being
done is displayed, and a period ('.') is displayed for each file.
Once I have made up the master list, I can then use it to verify
that a module (file) has not been internally clobbered. That has
happened a few times, and most utilities will not be able to
detect the condition.
The program "DO_CRC" will compute the same CRC but for a single
file only. This allows a quick generation of the CRC to check
against the master list.
The CRC generated does not seem to match that generated by ARC,
but as long as they compute the same on two different passes, the
file has not changed.
Since I use from 4 to 8 Bernoulli cartridges in a day, I have
produced a file for each of the different cartridges. Then merged
them together with KEDIT (Mansfield Software Group), and sorted
the result by file name. This gives me a master list that not
only tells me where the files are, but also tells if two files
with the same name are really identical.
I am pessimistic about SHAREWARE for small scale programs, so all
I would ask is that if you find this useful, (or maybe not), drop
me a postcard to let me know what BBS (include phone) you
obtained this from.
RTSoftware
POB 674
Columbia, MD
21045